The present invention relates to, for example, a video interface mechanism when an image is displayed on a display panel. More specifically, the present invention relates to a data conversion method, an apparatus and the like, when enlarging received block data by non-integral multiple.
Generally, display data for displaying an image is processed by a graphics controller of a host apparatus composed of a personal computer (PC) or the like and sent to a display apparatus. Meanwhile, with the advancement of display apparatus represented by a liquid crystal display (LCD) in recent years, a large difference has arisen in throughput between the host apparatus and the display apparatus. For example, in the LCD, higher definition has been achieved for a panel itself, and practical application of a high-definition (super high-definition) panel with a very large resolution has started, including examples such as Quad Extended Graphics Array, QXGA (2048xc3x971536 dots), Quad Super Extended Graphics Array QSXGA (2560xc3x972048 dots), Quad Ultra Extended Graphics Array QUXGA (3200xc3x972400 dots) and so on. However, system power and the power of a graphics controller cannot follow the advancement of the panel. Consequently, it is currently impossible to perform satisfactory display on the super high-definition panel.
For example, with regard to the performance of an image processing system represented by a graphics controller, QXGA is the limit of a typical display function. In the case of 3-dimensional (3D) computer graphics (CG) represented by a home image game machine or the like, throughput is limited to a low resolution of about Video Graphics Array (VGA) (640xc3x97480 dots). Thus, for example, while the resolution of the most advanced moving picture is still at the level of VGA, a panel having a resolution several to several tens higher can now be manufactured, bringing about conspicuous differences in the throughput.
As a method for solving the power shortage of such a graphics chip, the applicant has proposed a technology for optimizing the amount of work for the entire system including the graphics chip by distributing processing between a host side, system side, and a panel side, monitor side, as disclosed in Japanese Patent Application No.Hei 11 (1999)-341461. In the application, image data for image development necessary to display the image is transferred from the host side to the panel side in, for example, block unit. At the panel side, the transferred image data composed of, for example, block unit, is developed in a panel memory, and then output to be displayed. Thus, the proposed technology is highly advantageous in that even when the graphics chip of the host side having low throughput is used, the image can be displayed on, for example, a high-definition panel.
As methods for transferring display data, there are, for example, a line transfer method and a block transfer method, represented by a Moving Picture Experts Group (MPEG). In the above-described technology proposed by the applicant, the block transfer method may be mainly employed from now on, considering, for example, applicability to image compression.
As described above, by using the technology proposed by the applicant, it is possible to display the data of various enlargement ratios on the display. In addition, for example, when display data to be displayed is transferred by the block transfer method, and displayed in an enlarged manner on the display, an accurate enlargement can be carried out if the enlargement ratio is an integer, thus causing no problems. However, if the enlargement ratio is not an integer but is a number including decimal places, the use of the block transfer method may not be sufficient. In other words, it is necessary to develop an image on the memory in dot unit finally to display the image. Thus, for a fraction below decimal point, processing must be executed by calculation with for example an adjacent dot, causing a problem to be solved, namely, the necessity of supplying the information of the adjacent dot.
When, for example, data composed of 32 dotsxc3x9732 dots is transferred to be displayed after being multiplied by 65/64, a fraction is generated between blocks. In such a case, mixing must be carried out between the adjacent blocks, and even when the data composed of 32xc3x9732 dots is transmitted, information around the same must be supplied for the enlarged display. Alternatively, displaying must be carried out approximating 32xc3x9732 dots. Consequently, the enlargement can be made only by an integral multiple with a distorted shape.
FIGS. 10A to 10C are views illustrating a conventional scaling method. Here, for example, a case where the original image data (original data) composed of 32 dotsxc3x9732 dots is enlarged by being multiplied by 33.7/32 is shown. Specifically, FIG. 10A shows the original data 32 dotsxc3x9732 dots, FIG. 10B shows the former case where mixing is performed between the adjacent blocks and FIG. 10C shows the latter case where the displaying is performed approximating, for example, 32 dotsxc3x9732 dots.
The original data shown in FIG. 10A moves the block composed of 32 dotsxc3x9732 dots to a different space. In most cases, a scaling is not an integral multiple whereas the image-displaying configuration of a screen is decided by an integer as a dot.
In the case shown in FIG. 10B, that is, in the case where mixing is performed between the adjacent blocks, when calculation is for example executed involving information of surrounding boundaries, many memories are required, and random transfer cannot be performed. A configuration may be made for transmitting data of a slightly large size. For example, a method may be employed to transmit data at 34 dotsxc3x9734 dots with respect to 32 dotsxc3x9732 dots at the transmission side. Here, the added two dots means addition of one dot to each side of rectangular area. In this case, although mixing can be possible between the adjacent blocks, large data must be transmitted in each transfer, causing a lowering of transfer efficiency and an increase in a bandwidth taken from the memory. This situation is not preferable, because an operation at the system side, which supplies the data, becomes difficult.
On the other hand, in the case shown in FIG. 10C, that is, in the case of approximate displaying in 33 dotsxc3x9733 dots, for example, errors are gradually accumulated. Such an accumulation of errors causes image deviation, and there exists a problem that the error goes beyond a permissible range. Solid lines in FIG. 10C indicate ideal conversion coordinates, and dotted lines indicate the approximate displaying in 33 dotsxc3x9733 dots. It can be understood that as values of coordinates increase (moving away from a reference point on the upper-left), errors are accumulated. In the conventional display system, the accumulation of errors was not a problem, because the enlargement ratio was related to the entire screen. However, in the case where data of various enlargement ratios can be displayed at the same time, the accumulation of errors becomes a serious problem.
The present invention attempts to solve the foregoing technical problems, and an object of the present invention is to enable a processing of partial conversion by magnification without requiring many memories.
In order to achieve the foregoing object, according to the present invention, when data is moved between two spaces having different coordinate axes, for example, blocks of four patterns of enlargement ratios are prepared, and mixed to minimize an error, followed by conversion by magnification. Specifically, the present invention provides a data conversion method for converting original data divided into blocks, each block having a m dot width (m: an integer), into data multiplied by n/m (n: a non-integer). This method is characterized in that a block having a first dot width using one of two continuous integers sandwiching the n and a block having a second dot width using another integer are selected. Then a predetermined block having a m dot width constituting the original data is subjected to a conversion by magnification in accordance with the data having the first or the second dot width. The data converted by magnification having the first dot width and the second dot width, then, are sequentially selected. Considering the horizontal and vertical sides of each block, it can be said that blocks of four patterns of enlargement ratios, namely, first dot widthxc3x97first dot width, first dot widthxc3x97second dot width, second dot widthxc3x97first dot width and second dot widthxc3x97second dot width, are prepared, then converted by magnification.
Here, the data conversion method is characterized in that the blocks respectively having the first and second dot widths are selected so as to minimize the error, and the data converted by magnification based on the dot width and the enlargement ratio thereof are mixed. This method is preferable, because a fraction is absorbed and processed while the block having the m dot width corresponds to the block having the first dot width or the block having the second dot width during the processing.
In addition, for the selected block, at least one of longitudinal and lateral dots has a first or second dot width. In other words, by similar operations for the vertical and horizontal sides of the block, generation of the error can be suppressed.
Further, the application of the conversion by magnification is not limited to enlargement of the original data, and it can be similarly applied to reduction thereof.
When the present invention is applied to a system composed of a host side which supplies original data and a panel side which displays image data, in addition to the mode for executing the conversion of all data applied in the present invention at a display side, the present invention can be applied to the mode for transferring the data to the display side after the data conversion applied in the present invention is executed at the host side.
The present invention provides a data conversion method in which data composed of blocks from a first coordinate axis system is input, the data undergoes a scaling with respect to a second coordinate axis system which is different from the first coordinate axis system, and the data, then, is input and converted. This method is characterized in that, in the second coordinate system, a plurality of blocks are selected so that an error caused by the scaling performed using only a predetermined block defined by an integer can be absorbed by another block defined by an integer or other blocks defined by integers. The scaling is, then, executed in accordance with the plurality of the selected blocks at the same time, and data contained in the blocks sequentially input from the first coordinate system are sequentially converted in accordance with the plurality of blocks assigned by the scaling.
Here, the scaling is executed by selecting the plurality of blocks consisting of the predetermined block and the other block based on Bresenham""s logic and by mixing the selected blocks. The use of Bresenham""s logic is effective, for example, when blocks are discretely selected.
Two blocks can be selected as the plurality of blocks; however, the scaling may also be executed based on three or more blocks.
On the other hand, from the viewpoint of image displaying, the present invention provides an image display method for converting image data with a first resolution output from a host side, and displaying the image data on a display with a second resolution. This method is characterized in that, when the image data is input from the host side by a block having a m dot width (m: an integer), and the m dot width is converted by being multiplied by n/m (n: a non-integer) based on a relation between the first resolution and the second resolution, a block having a first dot width using one of two continuous integers sandwiching the n and a block having a second dot width using another integer are selected. The scaling is executed in accordance with the selected blocks respectively having the first and second dot widths. Then, the block input based on the scaling having the m dot width is appropriately converted and displayed. The mixing of the blocks respectively having the first and second dot widths is characterized in that the scaling is performed in the state where generation of a fraction in the longitudinal or lateral side of the second resolution is prevented. By this configuration, for example, in the application which enlarges the image data with the low resolution from the host side and displays the image data with the high resolution on the display, it is possible to solve the problem of transferring extra image data necessary for fraction processing, displaying the image data with accumulated errors retained or the like.
The present invention provides an image processing apparatus for developing original data having a first dot width to one having a second dot width. This image processing apparatus comprises: input means for inputting the original data in block unit, each block having a m dot width; calculation means for calculating, from the first dot width, the second dot width and the m dot width, the number of dots of a block and fractions included when developing to the second dot width; decision means for deciding one block from a block having the foregoing number of dots and a block having the number of interpolation dots for interpolating a fraction, by using Bresenham""s logic for example, as the one corresponding to an input block unit based on the calculated fraction; and development means for developing a unit of the input original data according to the block having the decided number of dots or the block having the number of interpolation dots. Here, for example, when n/m=32.5/32, two integral values of 32 and 33 are set. It is possible to consider that, for 32 dots, 33 dots become the number of interpolation dots, and for 33 dots, 32 dots become the number of interpolation dots.
From another viewpoint, the present invention provides an image processing apparatus for developing original data having a P dot width (P: an integer) to one having an R dot width (R: an integer). This image processing apparatus comprises: input means for inputting the original data in block unit, each block having a m dot width; selection means for appropriately selecting a predetermined block having a number of dots, the number being an integral value decided based on Rxc3x97m/P, or another block having a number of dots, namely, the number of dots+1, for each block unit input by the input means; and conversion means for converting each block of the original data input by the input means according to the selected block or the other block. An enlargement ratio is expressed as R/P, and when multiplied by m, Rxc3x97m/P may not be an integer. For example, for storing in a memory, development must be performed in dot unit, requiring the processing of a fraction part. By this configuration, through a simple processing, the input original data can be subjected to conversion by magnification without generating a fraction, and developed in the memory.
The present invention provides an image processing apparatus for converting original data divided into blocks, each block having a m dot width (m: an integer), into the one multiplied by n/m (n: a non-integer). This image processing apparatus comprises: block selection means for selecting a block having a first dot width using one of two continuous integers sandwiching the n and a block having a second dot width using another integer; first conversion-by-magnification means for converting by magnification a predetermined block having a m dot width constituting the original data in accordance with data having the first dot width; second conversion-by-magnification means for converting by magnification a block having a m dot width constituting the original data in accordance with data having the second dot width; and selection means for sequentially selecting data having the first dot width converted by magnification and the data having the second dot width converted by magnification.
On the other hand, the present invention provides an image display apparatus. This image display apparatus comprises: a panel for displaying an image; image data receiving means for receiving image data in block unit to be displayed from a host apparatus which executes an application; conversion-by-magnification means for converting by magnification the received image data in block unit in accordance with a block having a first dot width or a block having a second dot width; a panel memory for developing the converted image data; and panel control means for writing the developed, converted image data to the panel.
Here, the image data receiving means receives the image data in block unit, each block having a m dot width, and the conversion-by-magnification means selects an integer portion of the n as a first dot width when the image data is enlarged by being multiplied by n/m (n: a non-integer) and selects a value obtained by adding 1 to the first dot width as a second dot width. Though enlargement ratio varies with blocks, processing can surely be completed in one block unit.
In addition, the image data to be displayed is data having a P dot width and is displayed after being enlarged to an R dot width on the panel, and the n can be expressed as Rxc3x97m/P.
The conversion-by-magnification means can execute magnification conversion for both horizontal and vertical sides of the image data.
The present invention provides an image display apparatus in which image data with a first resolution output from a host side is subjected to conversion, and then the converted image data is displayed on a display with a second resolution. This image processing apparatus comprises: input means for inputting the image data from the host side in block unit having a m dot width (m: an integer); block selection means for selecting a block having a first dot width using one of two continuous integers sandwiching the n or a block having a second dot width using another integer, when the m dot width is converted to a width multiplied by n/m (n: a non-integer) based on a relation between the first resolution and the second resolution; scaling means for executing a scaling in accordance with the selected blocks respectively having the first and second dot widths at the same time; and display means for appropriately converting and displaying the input block having the m dot width based on the executed scaling.
In an image display system of the present invention, the problem, which has conventionally occurred upon transferring image data, is solved by optimizing the amount of work for the entire system by distributing processing between a host apparatus and a panel side. Specifically, this image display system comprises: a host for executing application and transmitting image data having a P dot width in block unit, each block having a width composed of m dots; and a display connected to the host which converts, by magnification, the image data having the P dot width to the one having an R dot width and displays the image data. This display includes: scaling means for executing a scaling by using a block having a dot width of an integral value obtained by Rxc3x97m/P and a block having a dot width of a second integral value obtained by adding 1 to the integral value; and conversion means for converting by magnification the image data received from the host in block unit based on the executed scaling.
Here, the scaling means executes the scaling by using the block having the dot width of the integral value and the block having the dot width of the added integral value when a value obtained by Rxc3x97m/P includes a fraction, and processes an error by using the blocks respectively having the dot width of the integral value and the dot width of the added integral value at the same time. In this way, the throughput of the image display system including image data transfer capability can be sufficiently utilized.
On the other hand, the present invention provides an image processing system. This image processing system comprises: a transmitting apparatus for transmitting a generated original data having a P dot width in block unit, each block having a width composed of m dots; and an image processing apparatus for receiving the original data from the transmitting apparatus, converting, by magnification, the original data having the P dot width to the one having an R dot width, and storing the data. The image processing apparatus includes: scaling means for executing a scaling to the R dot width so as to eliminate an error due to a fraction, by using a block having a dot width of an integral value and a block having a dot width of an added integral value obtained by adding 1 to the above integral value, when a value obtained by Rxc3x97m/P is a non-integral value including a fraction; conversion means for converting by magnification the original data received from the transmitting apparatus in block unit in accordance with a corresponding block based on the executed scaling; and storing means for storing the converted data converted by the conversion means in a memory.
Here, the transmitting apparatus may include, for example, a scanner for reading and outputting an image. The image processing apparatus may simply be the one for storing the image in the memory.